package com.ruoyi.chat.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.util.List;

/**
 * 聊天用户对象 chat_user
 *

 * @date 2023-07-23
 */
public class ChatUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickName;

    /** 头像 */
    @Excel(name = "头像")
    private String headImage;

    /** 是否商家 */
    @Excel(name = "是否商家")
    private Long business;

    @Excel(name = "添加好友状态")
    private Integer friendStatus;

    @Excel(name = "添加好友时的验证信息")
    private String messageAdd;

    @Excel(name = "申请进群时的验证消息")
    private String message;


    @Excel(name = "申请进群时的时间")
    private String subTime;

    /** 好友列表 */
    @Excel(name = "好友列表")
    private List<ChatUser> userList;

    /** 群主是否同意用户申请加入群聊 */
    @Excel(name = "加入群聊")
    private Long groupId;

    /** 用戶加入群聊后改变groupStatus */
    @Excel(name = "加入群聊")
    private Integer groupStatus;

    /** 群列表 */
    @Excel(name = "群列表")
    private List<ChatGroup> groupList;

    /** 登录id */
    @Excel(name = "系统登录id")
    private Long systemId;

    /** uuid */
    @Excel(name = "uuid")
    private String uuid;

    /** 申请加入群聊的用户id */
    @Excel(name = "userId")
    private Long userId;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public Integer getGroupStatus() {
        return groupStatus;
    }

    public void setGroupStatus(Integer groupStatus) {
        this.groupStatus = groupStatus;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getSubTime() {
        return subTime;
    }

    public void setSubTime(String subTime) {
        this.subTime = subTime;
    }

    public String getMessageAdd() {
        return messageAdd;
    }

    public void setMessageAdd(String messageAdd) {
        this.messageAdd = messageAdd;
    }

    public List<ChatUser> getUserList() {
        return userList;
    }

    public void setUserList(List<ChatUser> userList) {
        this.userList = userList;
    }


    public Integer getFriendStatus() {
        return friendStatus;
    }

    public void setFriendStatus(Integer friendStatus) {
        this.friendStatus = friendStatus;
    }

    public String getHeadImage() {
        return headImage;
    }

    public void setHeadImage(String headImage) {
        this.headImage = headImage;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setNickName(String nickName)
    {
        this.nickName = nickName;
    }

    public String getNickName()
    {
        return nickName;
    }
    public void setBusiness(Long business)
    {
        this.business = business;
    }

    public Long getBusiness()
    {
        return business;
    }
    public void setSystemId(Long systemId)
    {
        this.systemId = systemId;
    }

    public Long getSystemId()
    {
        return systemId;
    }


    public List<ChatGroup> getGroupList() {
        return groupList;
    }

    public void setGroupList(List<ChatGroup> groupList) {
        this.groupList = groupList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("nickName", getNickName())
            .append("business", getBusiness())
            .append("userId", getSystemId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
